home *** CD-ROM | disk | FTP | other *** search
Text File | 2001-01-06 | 42.5 KB | 1,897 lines |
- // MAC-Scheme for Cinema4D V6 06/20/2000
-
- var SCROLLER_COL_1;
- var SCROLLER_COL_2;
- var SCROLLER_COL_3;
- var SCROLLER_COL_4;
- var SCROLLER_COL_5;
- var SCROLLER_COL_6;
-
- var MENU_COL_1;
- var MENU_COL_2;
-
- var BORDER_COL_0;
- var BORDER_COL_1;
- var BORDER_COL_2;
- var BORDER_COL_3;
- var BORDER_COL_4;
- var BORDER_COL_5;
- var BORDER_COL_6;
- var BORDER_COL_7;
- var BORDER_COL_8;
- var BORDER_COL_9;
- var BORDER_COL_10;
- var BORDER_COL_11;
-
- guimain()
- {
- SCROLLER_COL_1 = vector(238,238,238)/255.0;
- SCROLLER_COL_2 = vector(204,204,255)/255.0;
- SCROLLER_COL_3 = vector(153,153,255)/255.0;
- SCROLLER_COL_4 = vector(102,102,204)/255.0;
- SCROLLER_COL_5 = vector( 51, 51,153)/255.0;
- SCROLLER_COL_6 = vector( 0, 0, 85)/255.0;
-
- MENU_COL_1 = vector( 51, 51,153)/255.0;
- MENU_COL_2 = vector( 0, 0,136)/255.0;
-
- BORDER_COL_0 = vector(255,255,255)/255.0;
- BORDER_COL_1 = vector(238,238,238)/255.0;
- BORDER_COL_2 = vector(221,221,221)/255.0;
- BORDER_COL_3 = vector(204,204,204)/255.0;
- BORDER_COL_4 = vector(187,187,187)/255.0;
- BORDER_COL_5 = vector(170,170,170)/255.0;
- BORDER_COL_6 = vector(153,153,153)/255.0;
- BORDER_COL_7 = vector(136,136,136)/255.0;
- BORDER_COL_8 = vector(119,119,119)/255.0;
- BORDER_COL_9 = vector( 85, 85, 85)/255.0;
- BORDER_COL_10 = vector( 34, 34, 34)/255.0;
- BORDER_COL_11 = vector( 0, 0, 0)/255.0;
- }
-
- mvector(r,g,b,bf_value)
- {
- if (bf_value) return vector(1.0-r*0.7,1.0-g*0.7,1.0-b*0.7);
- return vector(r,g,b);
- }
-
- svector(r,g,b,enabled)
- {
- if (enabled) return vector(r,g,b);
- var h = ((r+g+b)/3.0-200/255.0)*0.4+200/255.0;
- return vector(h,h,h);
- }
-
- GetBorderSize(frame,left,top,right,bottom,flags)
- {
- var drawtext = flags & BORDER_WITH_TITLE;
- flags = flags & BORDER_MASK;
-
- if (flags == BORDER_IN || flags == BORDER_OUT || flags == BORDER_OUT2)
- {
- left = top = right = bottom = 2;
- }
- else if (flags == BORDER_GROUP_IN || flags == BORDER_GROUP_OUT)
- {
- left = top = right = bottom = 2;
- }
- else if (flags == BORDER_THIN_IN || flags == BORDER_THIN_OUT || flags == BORDER_BLACK)
- {
- left = top = right = bottom = 1;
- }
- else if (flags == BORDER_OUT3)
- {
- left = right = bottom = 1;
- top = 0;
- }
- else if (flags == BORDER_ACTIVE_1 || flags == BORDER_ACTIVE_2)
- {
- left = top = right = bottom = 1;
- }
- else if (flags == BORDER_GROUP_TOP)
- {
- top = 2;
- left = right = bottom = 0;
- }
- else
- {
- left = top = right = bottom = 0;
- }
-
- if (drawtext)
- {
- frame->BfDrawBegin();
- top = frame->BfDrawGetFontHeight();
- frame->BfDrawEnd();
- }
- }
-
-
- DrawBorder(frame,x1,y1,x2,y2,flags)
- {
- var drawtext = flags & BORDER_WITH_TITLE;
- var oy = y1;
- flags = flags & BORDER_MASK;
-
- if (drawtext)
- {
- frame->BfDrawSetPen(COLOR_BG);
- var top = frame->BfDrawGetFontHeight();
- frame->BfDrawRectangle(x1,y1,x2,y1+top-1);
- y1 += frame->BfDrawGetFontHeight()/2;
- }
- if (flags == BORDER_IN)
- {
- var c1,c2,c3,c4;
- var enabled = frame->CfIsEnabled(TRUE);
- c1 = svector(136/255.0,136/255.0,136/255.0,enabled);
- c2 = svector(248/255.0,248/255.0,248/255.0,enabled);
- c3 = svector(0,0,0,enabled);
-
- frame->BfDrawSetPen(c1);
- frame->BfDrawLine(x1,y1+1,x1,y2-1);
- frame->BfDrawLine(x1+1,y1,x2-1,y1);
- frame->BfDrawSetPen(c2);
- frame->BfDrawLine(x2,y1+1,x2,y2-1);
- frame->BfDrawLine(x1+1,y2,x2-1,y2);
-
- frame->BfDrawSetPen(COLOR_BG);
- frame->BfDrawLine(x1,y1,x1,y1);
- frame->BfDrawLine(x2,y1,x2,y1);
- frame->BfDrawLine(x1,y2,x1,y2);
- frame->BfDrawLine(x2,y2,x2,y2);
-
- x1+=1;y1+=1;x2-=1;y2-=1;
-
- frame->BfDrawSetPen(c3);
- frame->BfDrawLine(x1,y1,x1,y2);
- frame->BfDrawLine(x1,y1,x2,y1);
- frame->BfDrawLine(x2,y1,x2,y2);
- frame->BfDrawLine(x1,y2,x2,y2);
-
- }
- else if (flags == BORDER_OUT || flags == BORDER_OUT2)
- {
- var c1,c2,c3,c4;
- if (flags == BORDER_OUT) { c1 = COLOR_EDGEWH; c2 = COLOR_EDGEBL; c3 = COLOR_EDGELT; c4 = COLOR_EDGEDK;}
- else if (flags == BORDER_OUT2){ c1 = COLOR_EDGELT; c2 = COLOR_EDGEBL; c3 = COLOR_EDGEWH; c4 = COLOR_EDGEDK;}
-
- frame->BfDrawSetPen(c1);
- frame->BfDrawLine(x1,y1,x1,y2);
- frame->BfDrawLine(x1,y1,x2,y1);
- frame->BfDrawSetPen(c2);
- frame->BfDrawLine(x2,y1+1,x2,y2);
- frame->BfDrawLine(x1+1,y2,x2,y2);
-
- x1+=1;y1+=1;x2-=1;y2-=1;
-
- frame->BfDrawSetPen(c3);
- frame->BfDrawLine(x1,y1,x1,y2);
- frame->BfDrawLine(x1,y1,x2,y1);
-
- frame->BfDrawSetPen(c4);
- frame->BfDrawLine(x2,y1+1,x2,y2);
- frame->BfDrawLine(x1+1,y2,x2,y2);
- }
- else if (flags == BORDER_OUT3)
- {
- var c1,c2,c3,c4;
- // c1 = COLOR_EDGEWH; c2 = COLOR_EDGEBL; c3 = COLOR_EDGELT; c4 = COLOR_EDGEDK;
- c1 = COLOR_EDGEWH; c2 = COLOR_EDGEDK; c3 = COLOR_EDGELT; c4 = COLOR_BG;
-
- frame->BfDrawSetPen(c1);
- frame->BfDrawLine(x1,y1,x1,y2);
- frame->BfDrawSetPen(c2);
- frame->BfDrawLine(x2,y1,x2,y2);
- frame->BfDrawLine(x1+1,y2,x2,y2);
-
- x1+=1;x2-=1;y2-=1;
-
- // frame->BfDrawSetPen(c3);
- // frame->BfDrawLine(x1,y1,x1,y2);
-
- // frame->BfDrawSetPen(c4);
- // frame->BfDrawLine(x2,y1,x2,y2);
- // frame->BfDrawLine(x1+1,y2,x2,y2);
- }
- else if (flags == BORDER_GROUP_IN || flags == BORDER_GROUP_OUT)
- {
- var c1,c2;
- if (flags == BORDER_GROUP_IN) { c1 = COLOR_EDGEWH; c2 = COLOR_EDGEDK; }
- else { c2 = COLOR_EDGEWH; c1 = COLOR_EDGEDK; }
-
- frame->BfDrawSetPen(c1);
- frame->BfDrawLine(x2,y1,x2,y2);
- frame->BfDrawLine(x1,y2,x2,y2);
-
- frame->BfDrawSetPen(c2);
- frame->BfDrawLine(x1,y1,x1,y2-1);
- frame->BfDrawLine(x1,y1,x2-1,y1);
-
- x1+=1;y1+=1;
- x2-=1;y2-=1;
-
- frame->BfDrawSetPen(c1);
- frame->BfDrawLine(x1,y1,x1,y2);
- frame->BfDrawLine(x1,y1,x2,y1);
-
- frame->BfDrawSetPen(c2);
- frame->BfDrawLine(x2,y1,x2,y2);
- frame->BfDrawLine(x1,y2,x2,y2);
- }
- else if (flags == BORDER_THIN_IN || flags == BORDER_THIN_OUT || flags == BORDER_BLACK || flags == BORDER_ACTIVE_1 || flags == BORDER_ACTIVE_2)
- {
- var c1,c2;
- if (flags == BORDER_THIN_IN) { c1 = COLOR_EDGEDK; c2 = COLOR_EDGEWH; }
- else if (flags == BORDER_THIN_OUT) { c1 = COLOR_EDGEWH; c2 = COLOR_EDGEDK; }
- //else if (flags == BORDER_ACTIVE_1) { c1 = vector(1,72.0/255.0,29.0/255.0); c2 = c1; }
- else if (flags == BORDER_ACTIVE_1) { c1 = vector(72.0/255.0,72.0/255.0,1.0); c2 = c1; }
- else if (flags == BORDER_ACTIVE_2) { c1 = COLOR_BG; c2 = c1; }
- else { c1 = BfBLACK; c2 = BfBLACK; }
-
- frame->BfDrawSetPen(c1);
- frame->BfDrawLine(x1,y1,x1,y2-1);
- frame->BfDrawLine(x1,y1,x2,y1);
-
- frame->BfDrawSetPen(c2);
- frame->BfDrawLine(x2,y1+1,x2,y2);
- frame->BfDrawLine(x1,y2,x2,y2);
- }
- else if (flags == BORDER_GROUP_TOP)
- {
- var c1,c2;
- c2 = COLOR_EDGEWH;
- c1 = COLOR_EDGEDK;
-
- frame->BfDrawSetPen(c1);
- frame->BfDrawLine(x1,y1,x2-1,y1);
-
- y1+=1;
-
- frame->BfDrawSetPen(c2);
- frame->BfDrawLine(x1,y1,x2,y1);
- }
-
- if (drawtext)
- {
- frame->BfDrawSetPen(COLOR_BG);
- var top = frame->BfDrawGetFontHeight();
- var w = frame->BfDrawGetTextWidth(frame->bf_title);
- if (w>x2-x1-10) w = x2-x1-10;
- frame->BfDrawRectangle(x1+6-2,oy,x1+w+6+2,oy+top-1);
-
- if (frame->CfIsEnabled(TRUE))
- {
- frame->BfDrawSetTextCol(COLOR_TEXT,COLOR_BG);
- frame->CfDrawTextClipped(x1+6,oy,w,frame->bf_title);
- }
- else
- {
- frame->BfDrawSetTextCol(COLOR_EDGEWH,COLOR_TRANS);
- frame->CfDrawTextClipped(x1+7,oy+1,w,frame->bf_title);
- frame->BfDrawSetTextCol(COLOR_EDGEDK,COLOR_TRANS);
- frame->CfDrawTextClipped(x1+6,oy,w,frame->bf_title);
- }
- }
- }
-
-
-
-
- class Button : defButton
- {
- public:
- Button(_id_,_title_,_bi_,_min_,_max_,_val_);
- CfRedraw(xr1,yr1,xr2,yr2);
- };
-
- Button::Button(_id_,_title_,_bi_,_min_,_max_,_val_)
- {
- super(_id_,_title_,_bi_,_min_,_max_,_val_);
- cfTabStop = FALSE; // so it's maclike :-)
- }
-
- Button::CfRedraw(xr1,yr1,xr2,yr2)
- {
- BfOffScreenOn();
-
- var x,y,w,h;
-
- var bg = COLOR_BG, fg = COLOR_TEXT;
- var enabled = CfIsEnabled(TRUE);
-
- BfDrawSetPen(bg);
- BfDrawRectangle(0,0,bf_sw-1,bf_sh-1);
-
- if (bf_value) { fg = svector(1,1,1,enabled); bg = svector(128/255.0,128/255.0,128/255.0,enabled); }
-
- BfDrawSetPen(bg);
- BfDrawRectangle(1,1,bf_sw-2,bf_sh-2);
-
- w = bf_sw-1;
- h = bf_sh-1;
-
- // black lines
- BfDrawSetPen(svector(0,0,0,enabled));
- BfDrawLine(2,0,w-2,0);
- BfDrawLine(w-2,0,w,2);
- BfDrawLine(w,2,w,h-2);
- BfDrawLine(w,h-2,w-2,h);
- BfDrawLine(w-2,h,2,h);
- BfDrawLine(2,h,0,h-2);
- BfDrawLine(0,h-2,0,2);
- BfDrawLine(0,2,2,0);
-
- // grey lines
- BfDrawSetPen(mvector(184/255.0,184/255.0,184/255.0,bf_value));
- BfDrawLine(2,1,1,2);
- BfDrawLine(w-2,1,w-1,2);
- BfDrawLine(2,h-1,1,h-2);
-
- // grey lines
- BfDrawSetPen(mvector(216/255.0,216/255.0,216/255.0,bf_value));
- BfDrawLine(3,1,w-2,1);
- BfDrawLine(1,3,1,h-3);
-
- // grey lines
- BfDrawSetPen(mvector(112/255.0,112/255.0,112/255.0,bf_value));
- BfDrawLine(3,h-1,w-2,h-1);
- BfDrawLine(w-1,3,w-1,h-2);
- BfDrawLine(w-2,h-2,w-2,h-2);
-
- // grey lines
- BfDrawSetPen(mvector(168/255.0,168/255.0,168/255.0,bf_value));
- BfDrawLine(3,h-2,w-3,h-2);
- BfDrawLine(w-2,3,w-2,h-3);
- BfDrawLine(w-3,h-3,w-3,h-3);
-
- // white lines
- BfDrawSetPen(mvector(255/255.0,255/255.0,255/255.0,bf_value));
- BfDrawLine(2,2,w-3,2);
- BfDrawLine(2,2,2,h-3);
- BfDrawLine(3,3,3,3);
-
- x=2;
- y=1;
-
- if (enabled)
- {
- BfDrawSetTextCol(fg,COLOR_TRANS);
- CfDrawTextClippedCenter(x,y,bf_sw-4,bf_sh-2,bf_title,CENTER_ALL);
- }
- else
- {
- BfDrawSetTextCol(COLOR_EDGEWH,COLOR_TRANS);
- CfDrawTextClippedCenter(x+1,y+1,bf_sw-4,bf_sh-2,bf_title,CENTER_ALL);
- BfDrawSetTextCol(COLOR_EDGEDK,COLOR_TRANS);
- CfDrawTextClippedCenter(x,y,bf_sw-4,bf_sh-2,bf_title,CENTER_ALL);
- }
- }
-
-
-
- class CheckBox : defCheckBox
- {
- public:
- CheckBox(_id_,_title_,_bi_,_min_,_max_,_val_);
- CfRedraw(xr1,yr1,xr2,yr2);
- };
-
- CheckBox::CheckBox(_id_,_title_,_bi_,_min_,_max_,_val_)
- {
- super(_id_,_title_,_bi_,_min_,_max_,_val_);
- cfTabStop = FALSE; // so it's maclike :-)
- }
-
- CheckBox::CfRedraw(xr1,yr1,xr2,yr2)
- {
- BfOffScreenOn();
-
- var x,y;
- var tw,fh;
-
- var bg = COLOR_BG, fg = COLOR_TEXT;
- var enabled = CfIsEnabled(TRUE);
-
- BfOffScreenOn();
-
- //if (enabled && CfGetFocus()==FOCUS_ON) bg = COLOR_BGFOCUS;
-
- BfDrawSetPen(COLOR_BG);
- BfDrawRectangle(0,0,bf_sw-1,bf_sh-1);
-
- tw=BfDrawGetTextWidth(bf_title);
- fh=BfDrawGetFontHeight();
- y=(bf_sh-14)/2;
-
- // grey lines
- if (enabled)
- {
- BfDrawSetPen(vector(0,0,0));
- }
- else
- {
- BfDrawSetPen(vector(112/255.0,112/255.0,112/255.0));
- }
- BfDrawLine(0,y,13,y);
- BfDrawLine(13,y,13,y+13);
- BfDrawLine(13,y+13,0,y+13);
- BfDrawLine(0,y+13,0,y);
-
- if (enabled)
- {
- // grey lines
- BfDrawSetPen(vector(248/255.0,248/255.0,248/255.0));
- BfDrawLine(1,y+1,13-1,y+1);
- BfDrawLine(1,y+13-1,1,y+1);
-
- // grey lines
- BfDrawSetPen(vector(136/255.0,136/255.0,136/255.0));
- BfDrawLine(13-1,y+1,13-1,y+13-1);
- BfDrawLine(13-1,y+13-1,1,y+13-1);
- }
- if (bf_value)
- {
- GaDrawCheckMark(0,y,enabled ? COLOR_EDGEBL : vector(112/255.0,112/255.0,112/255.0));
- }
-
- if (sizeof(bf_title)>0)
- {
- x=14+fh/4;
- y=(bf_sh-fh)/2;
-
- tw = Min(tw,bf_sw-16);
-
- if (enabled)
- {
- BfDrawSetTextCol(fg,bg);
- CfDrawTextClipped(x,y,tw,bf_title);
- }
- else
- {
- BfDrawSetTextCol(vector(112/255.0,112/255.0,112/255.0),bg);
- CfDrawTextClipped(x,y,tw,bf_title);
- }
- }
- }
-
-
-
-
-
- class EditText : defEditText
- {
- public:
- EditText(_id_,_title_,_bi_,_min_,_max_,_val_);
- CfRedraw(xr1,yr1,xr2,yr2);
- };
-
- EditText::EditText(_id_,_title_,_bi_,_min_,_max_,_val_)
- {
- super(_id_,_title_,_bi_,_min_,_max_,_val_);
- }
-
- EditText::CfRedraw(xr1,yr1,xr2,yr2)
- {
- BfOffScreenOn();
-
- var x,y,w,h,str;
- var bg = COLOR_BGEDIT;
-
- var enabled = CfIsEnabled(TRUE);
-
- BfDrawSetPen(enabled ? bg : COLOR_BG);
- BfDrawRectangle(0,0,bf_sw-1,bf_sh-1);
-
- CfDrawBorder(0,0,bf_sw-1,bf_sh-1,borderstyle?BORDER_IN:BORDER_NONE);
-
- h = BfDrawGetFontHeight();
- x = hborder+offsx;
- y = (bf_sh-h)/2;
-
- BfSetClippingRegion(hborder,2,bf_sw-2*hborder,bf_sh-4);
- if (curpos!=blkpos && CfGetFocus()==FOCUS_ON && enabled)
- {
- var x1 = blkpos;
- var x2 = curpos;
- var w;
- var xx = x;
- if (x2<x1) { var t=x1;x1=x2;x2=t; };
-
- if (x1>0)
- {
- str = strmid(bf_title,0,x1);
- if (str)
- {
- BfDrawSetTextCol(COLOR_TEXT,bg);
- BfDrawTextNew(str,xx,y,TEXT_AUTO,TEXT_AUTO,TEXT_STD);
- w = BfDrawGetTextWidth(str);
- xx += w;
- }
- }
-
- str = strmid(bf_title,x1,x2-x1);
- if (str)
- {
- BfDrawSetTextCol(COLOR_FGSELECTEDTEXT,COLOR_BGSELECTEDTEXT);
- BfDrawTextNew(str,xx,y,TEXT_AUTO,TEXT_AUTO,TEXT_STD);
- w = BfDrawGetTextWidth(str);
- xx += w;
- }
-
- str = strmid(bf_title,x2,sizeof(bf_title));
- if (str)
- {
- BfDrawSetTextCol(COLOR_TEXT,bg);
- BfDrawTextNew(str,xx,y,TEXT_AUTO,TEXT_AUTO,TEXT_STD);
- }
- }
- else
- {
- BfDrawSetTextCol(enabled ? COLOR_TEXT : COLOR_EDGEDK,COLOR_TRANS);
- BfDrawTextNew(bf_title,x,y,TEXT_AUTO,TEXT_AUTO,TEXT_STD);
- }
-
- if (CfGetFocus()==FOCUS_ON && enabled)
- {
- var w = BfDrawGetTextWidth(bf_title,0,curpos);
- BfDrawSetPen(BfBLACK);
- BfDrawLine(x+w,y,x+w,y+h);
- BfDrawLine(x+w+1,y,x+w+1,y+h);
- }
- }
-
-
-
-
- class ComboBox : defComboBox
- {
- public:
- ComboBox(_id_,_title_,_bi_,_min_,_max_,_val_);
- CfRedraw(xr1,yr1,xr2,yr2);
- };
-
- ComboBox::ComboBox(_id_,_title_,_bi_,_min_,_max_,_val_)
- {
- super(_id_,_title_,_bi_,_min_,_max_,_val_);
- cfTabStop = FALSE; // so it's maclike :-)
- }
-
-
- ComboBox::CfRedraw(xr1,yr1,xr2,yr2)
- {
- BfOffScreenOn();
-
- var x,y,w,h,fg = COLOR_TEXT;
- var enabled = CfIsEnabled(TRUE);
- var bg = COLOR_BG;
-
- BfDrawSetPen(bg);
- BfDrawRectangle(0,0,bf_sw-1,bf_sh-1);
-
- if (intrack) { fg = vector(1,1,1); bg = vector(128/255.0,128/255.0,128/255.0); }
-
- BfDrawSetPen(bg);
- BfDrawRectangle(1,1,bf_sw-2,bf_sh-2);
-
- w = bf_sw-1;
- h = bf_sh-1;
-
- // black lines
- BfDrawSetPen(vector(0,0,0));
- BfDrawLine(2,0,w-2,0);
- BfDrawLine(w-2,0,w,2);
- BfDrawLine(w,2,w,h-2);
- BfDrawLine(w,h-2,w-2,h);
- BfDrawLine(w-2,h,2,h);
- BfDrawLine(2,h,0,h-2);
- BfDrawLine(0,h-2,0,2);
- BfDrawLine(0,2,2,0);
-
- // white lines
- BfDrawSetPen(mvector(248/255.0,248/255.0,248/255.0,intrack));
- BfDrawLine(2,1,w-2,1);
- BfDrawLine(1,2,1,h-2);
-
- // white lines
- BfDrawSetPen(mvector(168/255.0,168/255.0,168/255.0,intrack));
- BfDrawLine(w-1,2,w-1,h-2);
- BfDrawLine(2,h-1,w-2,h-1);
-
- h=BfDrawGetFontHeight();
- x=3;
- y=(bf_sh-h)/2;
-
- var txt = GetEntry(bf_value);
- if (txt && txt->text)
- {
- BfDrawSetTextCol(enabled ? fg : COLOR_EDGEDK,bg);
- CfDrawTextClipped(x,y,bf_sw-h-8,txt->text);
- }
- x = bf_sw-h-3-3;
- h = bf_sh-1;
- // GaDrawFrame(x,2,bf_sw-3,bf_sh-3,BORDER_OUT2,bg);
- y=(bf_sh)/2;
- DrawArrow(this,x+1,y-5,bf_sw-3,y-1,enabled ? COLOR_EDGEBL : COLOR_EDGEDK,ARROW_UP);
- DrawArrow(this,x+1,y+1,bf_sw-3,y+5,enabled ? COLOR_EDGEBL : COLOR_EDGEDK,ARROW_DOWN);
-
- // white lines
- BfDrawSetPen(mvector(216/255.0,216/255.0,216/255.0,intrack));
- BfDrawLine(x,1,w-2,1);
-
- BfDrawSetPen(mvector(168/255.0,168/255.0,168/255.0,intrack));
- BfDrawLine(x,2,x,h-2);
- BfDrawLine(w-2,3,w-2,h-3);
- BfDrawLine(x+3,h-2,w-3,h-2);
-
- BfDrawSetPen(mvector(248/255.0,248/255.0,248/255.0,intrack));
- BfDrawLine(x+2,3,x+2,h-3);
- BfDrawLine(x+2,2,w-3,2);
-
- BfDrawSetPen(mvector(112/255.0,112/255.0,112/255.0,intrack));
- BfDrawLine(w-1,2,w-1,h-2);
- BfDrawLine(x+2,h-1,w-2,h-1);
- BfDrawLine(w-2,h-2,w-2,h-2);
-
- return TRUE;
- }
-
-
-
-
- class Slider : defSlider
- {
- public:
- Slider(_id_,_title_,_bi_,_min_,_max_,_val_);
- CfRedraw(xr1,yr1,xr2,yr2);
- };
-
- Slider::Slider(_id_,_title_,_bi_,_min_,_max_,_val_)
- {
- super(_id_,_title_,_bi_,_min_,_max_,_val_);
-
- cfTabStop = FALSE; // so it's maclike :-)
- slThumbMin = 13;
- slThumbW=slThumbMin;
- }
-
- Slider::CfRedraw(xr1,yr1,xr2,yr2)
- {
- BfOffScreenOn();
-
- // println("Range ",bf_min,bf_max);
-
- var x1,y1,x2,y2,w,h,x;
- var enabled = CfIsEnabled(TRUE);
-
- SlCalcThumbPos();
-
- BfDrawSetPen(COLOR_BG);
- BfDrawRectangle(0,0,bf_sw-1,bf_sh-1);
-
- x1=0;
- y1=(bf_sh-slRailH)/2;
- x2=x1+(bf_sw)-1;
- y2=y1+slRailH-1;
-
- var y = bf_sh/2;
- w = bf_sw-1;
-
- BfDrawSetPen(vector(168/255.0,168/255.0,168/255.0));
- BfDrawRectangle(2,y-1,w-2,y+1);
-
- BfDrawSetPen(svector(0/255.0,0/255.0,0/255.0,enabled));
- BfDrawLine(2,y-2,w-2,y-2);
- BfDrawLine(2,y+2,w-2,y+2);
- BfDrawLine(1,y-1,1,y+1);
- BfDrawLine(w-1,y-1,w-1,y+1);
-
- BfDrawSetPen(svector(168/255.0,168/255.0,168/255.0,enabled));
- BfDrawLine(1,y-3,w-2,y-3);
- BfDrawLine(1,y-2,1,y-2);
- BfDrawLine(w-1,y-2,w-1,y-2);
- BfDrawLine(0,y-2,0,y+1);
-
- BfDrawSetPen(svector(248/255.0,248/255.0,248/255.0,enabled));
- BfDrawLine(2,y+3,w-1,y+3);
- BfDrawLine(w,y-1,w,y+2);
- BfDrawLine(1,y+2,1,y+2);
- BfDrawLine(w-1,y+2,w-1,y+2);
-
- if (intrack) BfDrawSetPen(svector(132/255.0,132/255.0,228/255.0,enabled));
- else BfDrawSetPen(svector(152/255.0,152/255.0,248/255.0,enabled));
- BfDrawRectangle(slTx1+1,slTy1+1,slTx2-1,slTy2-1);
-
- BfDrawSetPen(svector(0/255.0,0/255.0,0/255.0,enabled));
- BfDrawLine(slTx1+1,slTy1,slTx2-1,slTy1);
- BfDrawLine(slTx1,slTy1+1,slTx1,slTy2-1);
- BfDrawLine(slTx1+1,slTy2,slTx2-1,slTy2);
- BfDrawLine(slTx2,slTy1+1,slTx2,slTy2-1);
-
- BfDrawSetPen(svector(200/255.0,200/255.0,248/255.0,enabled));
- BfDrawLine(slTx1+2,slTy1+1,slTx2-2,slTy1+1);
- BfDrawLine(slTx1+1,slTy1+2,slTx1+1,slTy2-2);
-
- BfDrawSetPen(svector(96/255.0,96/255.0,200/255.0,enabled));
- BfDrawLine(slTx2-1,slTy1+2,slTx2-1,slTy2-1);
- BfDrawLine(slTx1+1,slTy2-1,slTx2-1,slTy2-1);
-
- for (x = slTx1+3; x<slTx2-4; x+=2)
- {
- BfDrawSetPen(svector(200/255.0,200/255.0,248/255.0,enabled));
- BfDrawLine(x,slTy1+4,x,slTy2-5);
- BfDrawSetPen(svector(48/255.0,48/255.0,152/255.0,enabled));
- BfDrawLine(x+1,slTy1+5,x+1,slTy2-4);
- }
- }
-
-
-
-
- class UpDownButton : defUpDownButton
- {
- public:
- UpDownButton(_id_,_title_,_bi_,_min_,_max_,_val_);
- CfRedraw(xr1,yr1,xr2,yr2);
- };
-
- UpDownButton::UpDownButton(_id_,_title_,_bi_,_min_,_max_,_val_)
- {
- super(_id_,_title_,_bi_,_min_,_max_,_val_);
- cfTabStop = FALSE; // so it's maclike :-)
- }
-
-
-
- UpDownButton::CfRedraw(xr1,yr1,xr2,yr2)
- {
- var h=bf_sh&~1;
-
- var x,y,w,xx=0,yy=0,y2 = (h-1)/2;
- var bg = COLOR_BGGADGET;
- var enabled = CfIsEnabled(TRUE);
-
- BfOffScreenOn();
-
- if (bf_value&1) bg = COLOR_BGFOCUS;
- BfDrawSetPen(bg);
- BfDrawRectangle(0,0,bf_sw-1,y2);
-
- if (bf_value&2) bg = COLOR_BGFOCUS;
- else bg = COLOR_BGGADGET;
-
- BfDrawSetPen(bg);
- BfDrawRectangle(0,y2+1,bf_sw-1,bf_sh-1);
-
- // CfDrawBorder(0,0,bf_sw-1,bf_sh-1,BORDER_OUT2);
-
- DrawArrow(this,1,y2-4,bf_sw-2,y2,enabled ? COLOR_EDGEBL : COLOR_EDGEDK,ARROW_SMALL_UP);
- DrawArrow(this,1,y2+2,bf_sw-2,y2+6, enabled ? COLOR_EDGEBL : COLOR_EDGEDK,ARROW_SMALL_DOWN);
-
- x = -1; y=-1;
- w = bf_sw;
- h = bf_sh;
-
- // white lines
- BfDrawSetPen(svector(216/255.0,216/255.0,216/255.0,enabled));
- BfDrawLine(x,y+1,w-2,y+1);
-
- BfDrawSetPen(svector(168/255.0,168/255.0,168/255.0,enabled));
- BfDrawLine(x+1,y+2,x+1,h-2);
- BfDrawLine(w-2,y+3,w-2,h-3);
- BfDrawLine(x+3,h-2,w-3,h-2);
-
- BfDrawSetPen(svector(248/255.0,248/255.0,248/255.0,enabled));
- BfDrawLine(x+2,y+3,x+2,h-3);
- BfDrawLine(x+2,y+2,w-3,y+2);
-
- BfDrawSetPen(svector(112/255.0,112/255.0,112/255.0,enabled));
- BfDrawLine(w-1,y+2,w-1,h-2);
- BfDrawLine(x+2,h-1,w-2,h-1);
- BfDrawLine(w-2,h-2,w-2,h-2);
- }
-
-
-
- class ScrollerH : defScrollerH
- {
- var last;
-
- public:
- ScrollerH(_id_,_title_,_bi_,_min_,_max_,_val_);
- CbMessage(m);
- }
-
- ScrollerH::ScrollerH(_id_,_title_,_bi_,_min_,_max_,_val_)
- {
- super(_id_,_title_,_bi_,_min_,_max_,_val_);
- BgSetBorderStyle(BORDER_NONE);
- GgSetSpace(1,1);
- GgSetBorder(1,1,1,1);
- BfSetDefaultColor(COLOR_BG,BfBLACK);
- last = TRUE;
- }
-
- ScrollerH::CbMessage(m)
- {
- var res,on;
-
- switch (m->GetId())
- {
- case BFM_ENABLE:
- case BFM_DISABLE:
- res = super::CbMessage(m);
- on = CfIsEnabled(FALSE);
- if (on!=last)
- {
- if (on)
- BfSetDefaultColor(COLOR_BG,BfBLACK);
- else
- BfSetDefaultColor(COLOR_BG,BORDER_COL_6);
- Redraw();
- last = on;
- }
- break;
- }
- return super::CbMessage(m);
- }
-
-
-
- class ScrollerV: defScrollerV
- {
- var last;
- public:
- ScrollerV(_id_,_title_,_bi_,_min_,_max_,_val_);
- CbMessage(m);
- }
-
- ScrollerV::ScrollerV(_id_,_title_,_bi_,_min_,_max_,_val_)
- {
- super(_id_,_title_,_bi_,_min_,_max_,_val_);
- BgSetBorderStyle(BORDER_NONE);
- GgSetSpace(1,1);
- GgSetBorder(1,1,1,1);
- BfSetDefaultColor(COLOR_BG,BfBLACK);
- last = TRUE;
- }
-
- ScrollerV::CbMessage(m)
- {
- var res,on;
-
- switch (m->GetId())
- {
- case BFM_ENABLE:
- case BFM_DISABLE:
- res = super::CbMessage(m);
- on = CfIsEnabled(FALSE);
- if (on!=last)
- {
- if (on)
- BfSetDefaultColor(COLOR_BG,BfBLACK);
- else
- BfSetDefaultColor(COLOR_BG,BORDER_COL_6);
- Redraw();
- last = on;
- }
- break;
- }
- return super::CbMessage(m);
- }
-
-
-
- class Scroller_V : defScroller_V
- {
- public:
- Scroller_V(_id_,_title_,_bi_,_min_,_max_,_val_);
- CfRedraw(xr1,yr1,xr2,yr2);
- };
-
-
- Scroller_V::Scroller_V(_id_,_title_,_bi_,_min_,_max_,_val_)
- {
- super(_id_,_title_,_bi_,_min_,_max_,_val_);
- cfTabStop = FALSE; // so it's maclike :-)
- slThumbMin = 15;
- slThumbH = slThumbMin;
- }
-
-
- Scroller_V::CfRedraw(xr1,yr1,xr2,yr2)
- {
- BfOffScreenOn();
-
- var x1,y1,x2,y2,w,h,x,n;
- var enabled = CfIsEnabled(TRUE);
-
- SlCalcThumbPos();
-
- if (enabled)
- {
- w = bf_sw-1;
- h = bf_sh-1;
-
- x1 = slTx1;
- x2 = slTx2;
- y1 = slTy1;
- y2 = slTy2;
-
- BfDrawSetPen(BORDER_COL_5);
- BfDrawRectangle(0,0,w,h);
-
- BfDrawSetPen(BORDER_COL_8);
- BfDrawLine(0,0,w,0);
- BfDrawLine(0,0,0,h);
- if (y2+1<bf_sh) BfDrawLine(0,y2+1,w,y2+1);
-
- BfDrawSetPen(BORDER_COL_7);
- BfDrawLine(1,1,w-1,1);
- BfDrawLine(1,1,1,h-1);
- if (y2+2<bf_sh) BfDrawLine(1,y2+2,w-1,y2+2);
-
- BfDrawSetPen(BORDER_COL_3);
- BfDrawLine(0,h,w,h);
- BfDrawLine(w,0,w,h);
-
- BfDrawSetPen(BORDER_COL_4);
- BfDrawLine(1,h-1,w-1,h-1);
- BfDrawLine(w-1,1,w-1,h-1);
-
- if (intrack) BfDrawSetPen(SCROLLER_COL_4); else BfDrawSetPen(SCROLLER_COL_3);
- BfDrawRectangle(x1,y1,x2,y2);
-
- if (intrack) BfDrawSetPen(SCROLLER_COL_2); else BfDrawSetPen(SCROLLER_COL_1);
- BfDrawLine(x1,y1,x1+1,y1);
-
- if (intrack) BfDrawSetPen(SCROLLER_COL_4); else BfDrawSetPen(SCROLLER_COL_3);
- BfDrawLine(x1 ,y2,x1+1,y2);
- BfDrawLine(x2-1,y1,x2 ,y1);
-
-
- if (intrack) BfDrawSetPen(SCROLLER_COL_5); else BfDrawSetPen(SCROLLER_COL_4);
- BfDrawLine(x2-1,y2,x2,y2);
-
- if (intrack) BfDrawSetPen(SCROLLER_COL_3); else BfDrawSetPen(SCROLLER_COL_2);
- BfDrawLine(x1 ,y1+1,x1 ,y2-1);
- BfDrawLine(x1+1,y1 ,x2-1,y1 );
-
- if (intrack) BfDrawSetPen(SCROLLER_COL_5); else BfDrawSetPen(SCROLLER_COL_4);
- BfDrawLine(x1+1,y2,x2,y2);
- BfDrawLine(x2 ,y1,x2,y2);
-
- x = y1+3;
- if ((y2-y1-7)>8) x = y1+((y2)-(y1)-7)/2-4+4;
-
- for (n=0; n<4 && x<y2-3; x+=2,n++)
- {
- if (intrack) BfDrawSetPen(SCROLLER_COL_2); else BfDrawSetPen(SCROLLER_COL_1);
- BfDrawLine(x1+3,x,x1+4,x);
-
- if (intrack) BfDrawSetPen(SCROLLER_COL_3); else BfDrawSetPen(SCROLLER_COL_2);
- BfDrawLine(x1+4,x,x2-4,x);
-
- if (intrack) BfDrawSetPen(SCROLLER_COL_6); else BfDrawSetPen(SCROLLER_COL_5);
- BfDrawLine(x1+4,x+1,x2-3,x+1);
- }
-
- BfDrawSetPen(BORDER_COL_11);
- BfDrawLine(0,y1-1,w,y1-1);
- BfDrawLine(0,y2+1,w,y2+1);
-
- BfDrawSetPen(BORDER_COL_8);
- BfDrawLine(0,y2+2,w,y2+2);
-
- BfDrawSetPen(BORDER_COL_7);
- BfDrawLine(1,y2+3,w-1,y2+3);
- }
- else
- {
- BfDrawSetPen(oCOLOR_BG);
- BfDrawRectangle(0,0,bf_sw-1,bf_sh-1);
- }
- }
-
-
-
-
- class Scroller_H : defScroller_H
- {
- public:
- Scroller_H(_id_,_title_,_bi_,_min_,_max_,_val_);
- CfRedraw(xr1,yr1,xr2,yr2);
- };
-
-
- Scroller_H::Scroller_H(_id_,_title_,_bi_,_min_,_max_,_val_)
- {
- super(_id_,_title_,_bi_,_min_,_max_,_val_);
- cfTabStop = FALSE; // so it's maclike :-)
- slThumbMin = 14;
- slThumbW = slThumbMin;
- }
-
-
- Scroller_H::CfRedraw(xr1,yr1,xr2,yr2)
- {
- BfOffScreenOn();
-
- var x1,y1,x2,y2,w,h,x,n;
- var enabled = CfIsEnabled(TRUE);
-
- SlCalcThumbPos();
-
- w = bf_sw-1;
- h = bf_sh-1;
-
- x1 = slTx1;
- x2 = slTx2;
- y1 = slTy1;
- y2 = slTy2;
-
- if (enabled)
- {
- w = bf_sw-1;
- h = bf_sh-1;
-
- x1 = slTx1;
- x2 = slTx2;
- y1 = slTy1;
- y2 = slTy2;
-
- BfDrawSetPen(BORDER_COL_5);
- BfDrawRectangle(0,0,w,h);
-
- BfDrawSetPen(BORDER_COL_8);
- BfDrawLine(0,0,w,0);
- BfDrawLine(0,0,0,h);
- if (y2+1<bf_sh) BfDrawLine(0,y2+1,w,y2+1);
-
- BfDrawSetPen(BORDER_COL_7);
- BfDrawLine(1,1,w-1,1);
- BfDrawLine(1,1,1,h-1);
- if (y2+2<bf_sh) BfDrawLine(1,y2+2,w-1,y2+2);
-
- BfDrawSetPen(BORDER_COL_3);
- BfDrawLine(0,h,w,h);
- BfDrawLine(w,0,w,h);
-
- BfDrawSetPen(BORDER_COL_4);
- BfDrawLine(1,h-1,w-1,h-1);
- BfDrawLine(w-1,1,w-1,h-1);
-
- if (intrack) BfDrawSetPen(SCROLLER_COL_4); else BfDrawSetPen(SCROLLER_COL_3);
- BfDrawRectangle(x1,y1,x2,y2);
-
- if (intrack) BfDrawSetPen(SCROLLER_COL_2); else BfDrawSetPen(SCROLLER_COL_1);
- BfDrawLine(x1,y1,x1+1,y1);
-
- if (intrack) BfDrawSetPen(SCROLLER_COL_4); else BfDrawSetPen(SCROLLER_COL_3);
- BfDrawLine(x1 ,y2,x1+1,y2);
- BfDrawLine(x2-1,y1,x2 ,y1);
-
-
- if (intrack) BfDrawSetPen(SCROLLER_COL_5); else BfDrawSetPen(SCROLLER_COL_4);
- BfDrawLine(x2-1,y2,x2,y2);
-
- if (intrack) BfDrawSetPen(SCROLLER_COL_3); else BfDrawSetPen(SCROLLER_COL_2);
- BfDrawLine(x1 ,y1+1,x1 ,y2-1);
- BfDrawLine(x1+1,y1 ,x2-1,y1 );
-
- if (intrack) BfDrawSetPen(SCROLLER_COL_5); else BfDrawSetPen(SCROLLER_COL_4);
- BfDrawLine(x1+1,y2,x2,y2);
- BfDrawLine(x2 ,y1,x2,y2);
-
-
- x = x1+3;
- if ((x2-x1-7)>8) x = x1+((x2)-(x1)-7)/2-4+4;
-
- for (n=0; n<4 && x<x2-3; x+=2,n++)
- {
- if (intrack) BfDrawSetPen(SCROLLER_COL_2); else BfDrawSetPen(SCROLLER_COL_1);
- BfDrawLine(x,y1+3,x,y1+4);
-
- if (intrack) BfDrawSetPen(SCROLLER_COL_3); else BfDrawSetPen(SCROLLER_COL_2);
- BfDrawLine(x,y1+4,x,y2-4);
-
- if (intrack) BfDrawSetPen(SCROLLER_COL_6); else BfDrawSetPen(SCROLLER_COL_5);
- BfDrawLine(x+1,y1+4,x+1,y2-3);
- }
-
- BfDrawSetPen(BORDER_COL_11);
- BfDrawLine(x1-1,0,x1-1,h);
- BfDrawLine(x2+1 ,0,x2+1,h);
-
- BfDrawSetPen(BORDER_COL_8);
- BfDrawLine(x2+2,0,x2+2,h);
-
- BfDrawSetPen(BORDER_COL_7);
- BfDrawLine(x2+3,1,x2+3,h-1);
- }
- else
- {
- BfDrawSetPen(oCOLOR_BG);
- BfDrawRectangle(0,0,bf_sw-1,bf_sh-1);
- }
- }
-
-
-
-
-
- class MenuText : defMenuText
- {
- public:
- MenuText(_id_,_title_,_bi_,_pool_,_pic_,_shortcut_,_val_,_dest_);
- CfRedraw(xr1,yr1,xr2,yr2);
- };
-
-
- MenuText::MenuText(_id_,_title_,_bi_,_pool_,_pic_,_shortcut_,_val_,_dest_)
- {
- super(_id_,_title_,_bi_,_pool_,_pic_,_shortcut_,_val_,_dest_);
- }
-
-
- MenuText::CfRedraw(xr1,yr1,xr2,yr2)
- {
- var x=0,y=0,w,h,bg,fg;
-
- if (CfGetFocus()==FOCUS_ON) { bg = MENU_COL_1; fg = BORDER_COL_0; }
- else { bg = COLOR_BG; fg = COLOR_TEXT; }
-
- //println("draw ",bf_title);
-
- cfTabStop = FALSE; // so it's maclike :-)
-
- BfDrawSetPen(bg);
- BfDrawRectangle(0,0,bf_sw-1,bf_sh-1);
-
- var xx=0,yy=0;
- var id = pic % 20;
-
- if (pic && col_0)
- {
- var iw,ih;
- w = col_0;
- h = bf_sh-2;
-
- var state = 0;
- if (CfIsDisabled(TRUE)) state |= STATE_DISABLED;
-
- if (CfGetFocus()==FOCUS_ON)
- {
- state |= STATE_2NDSTATE;
-
- BfDrawSetPen(bg);
- BfDrawRectangle(1,1,w-1,h-1);
-
- iconpool->GetIconDim(pool,pic,&iw,&ih);
- if (iw && ih) iconpool->DrawIcon(pool,pic,this,xx+1+(w-iw)/2,yy+1+(h-ih)/2,iw,ih,state);
- }
- else
- {
- BfDrawSetPen(bg);
- BfDrawRectangle(1,1,w-3,h-3);
-
- iconpool->GetIconDim(pool,pic,&iw,&ih);
- if (iw && ih) iconpool->DrawIcon(pool,pic,this,xx+1+(w-iw)/2,yy+1+(h-ih)/2,iw,ih,state);
- }
- x += col_0;
- y = 0;
-
- // if (CfGetFocus()==FOCUS_ON)
- // CfDrawBorder(x,y,bf_sw-1,bf_sh-1,BORDER_THIN_IN);
-
- }
- else
- {
- // if (CfGetFocus()==FOCUS_ON)
- // CfDrawBorder(x,y,bf_sw-1,bf_sh-1,BORDER_THIN_IN);
-
- if (bf_value)
- {
- if (CfIsEnabled(TRUE))
- {
- GaDrawCheckMark(x,y-1+(bf_sh-10)/2,fg);
- }
- else
- {
- //GaDrawCheckMark(x+1,y-1+(bf_sh-10)/2+1,COLOR_EDGEWH);
- GaDrawCheckMark(x,y-1+(bf_sh-10)/2,COLOR_EDGEDK);
- }
- }
- x += col_0;
- y = 0;
- }
- w = bf_sw-col_0-col_2-col_3;
-
- var addx = 6+1;
- if (small) addx=6;
-
- if (CfIsEnabled(TRUE))
- {
- BfDrawSetTextCol(fg,bg);
- CfDrawTextClippedCenter(x+addx,y+1,w-addx-1,bf_sh-y-2,bf_title,CENTER_VERT);
- }
- else
- {
- //BfDrawSetTextCol(COLOR_EDGEWH,COLOR_TRANS);
- //CfDrawTextClippedCenter(x+addx+1,y+1+1,w-addx-1,bf_sh-y-2,bf_title,CENTER_VERT);
- BfDrawSetTextCol(COLOR_EDGEDK,COLOR_TRANS);
- CfDrawTextClippedCenter(x+addx,y+0+1,w-addx-1,bf_sh-y-2,bf_title,CENTER_VERT);
- }
-
- x += w;
- w = col_2;
-
- if (shortcut && sizeof(shortcut)>0)
- {
- if (CfIsEnabled(TRUE))
- {
- BfDrawSetTextCol(fg,bg);
- CfDrawTextClippedCenter(x,y+1,w-12,bf_sh-y-2,shortcut,ALIGN_RIGHT|CENTER_VERT);
- }
- else
- {
- // BfDrawSetTextCol(COLOR_EDGEWH,COLOR_TRANS);
- // CfDrawTextClippedCenter(x+1,y+1+1,w-12,bf_sh-y-2,shortcut,ALIGN_RIGHT|CENTER_VERT);
- BfDrawSetTextCol(COLOR_EDGEDK,COLOR_TRANS);
- CfDrawTextClippedCenter(x,y+0+1,w-12,bf_sh-y-2,shortcut,ALIGN_RIGHT|CENTER_VERT);
- }
- }
-
- x += w;
- w = col_3;
-
- if (forcearrow || (menuobject && menuobject->submenu && !noarrow))
- {
- var n=-4;
- BfDrawSetPen(fg);
- BfDrawLine(x-3-n,bf_sh/2-3,x-3-n,bf_sh/2+3);
- BfDrawLine(x-2-n,bf_sh/2-2,x-2-n,bf_sh/2+2);
- BfDrawLine(x-1-n,bf_sh/2-1,x-1-n,bf_sh/2+1);
- BfDrawLine(x-0-n,bf_sh/2 ,x-0-n,bf_sh/2);
- }
- }
-
-
-
-
- class CommandGadget : defCommandGadget
- {
- public:
- CommandGadget(_cmdid_,_flags_,_bi_,_parent_,_d2_,_d3_);
- CfRedraw(xr1,yr1,xr2,yr2);
- };
-
-
- CommandGadget::CommandGadget(_cmdid_,_flags_,_bi_,_parent_,_d2_,_d3_)
- {
- super(_cmdid_,_flags_,_bi_,_parent_,_d2_,_d3_);
- }
-
-
- CommandGadget::CfRedraw(xr1,yr1,xr2,yr2)
- {
- var x=0,y=0,w,h,bg,fg = COLOR_TEXT;
-
- var value = bf_value;
-
- BfOffScreenOn();
- if (CfGetFocus()==FOCUS_ON && flags&CMD_MENU) bg = MENU_COL_1;
- else bg = COLOR_BG;
-
- //println("draw ",bf_title);
-
- BfDrawSetPen(bg);
- BfDrawRectangle(0,0,bf_sw-1,bf_sh-1);
-
- if (!cmdptr)
- {
- BfDrawSetTextCol(COLOR_EDGEWH,COLOR_TRANS);
- CfDrawTextClippedCenter(1,1,bf_sw-2,bf_sh-2,"???",CENTER_HORIZ|CENTER_VERT);
- BfDrawSetTextCol(COLOR_EDGEDK,COLOR_TRANS);
- CfDrawTextClippedCenter(0,0,bf_sw-2,bf_sh-2,"???",CENTER_HORIZ|CENTER_VERT);
- return;
- }
-
- var xx=0,yy=0,hh=bf_sh,ww=bf_sw;
-
- var state = 0;
-
- if (CfIsDisabled(TRUE)) state |= STATE_DISABLED;
-
- if (flags&CMD_BUTTONLIKE)
- {
- if (value) state |= STATE_2NDSTATE;
-
- CfDrawBorder(x,y,ww-1,hh-1,value ? ICON_BORDERS_IN : ICON_BORDERS_OUT);
- xx++;
- yy++;
- hh-=2;
- ww-=2;
- }
- else if (flags&CMD_MENU)
- {
- if (value) state |= STATE_2NDSTATE;
- if (CfGetFocus()==FOCUS_ON)
- {
- state ^= STATE_2NDSTATE;
-
- bg = MENU_COL_1;
- fg = BORDER_COL_0;
- BfDrawSetPen(bg);
- BfDrawRectangle(0,0,bf_sw-1,bf_sh-1);
- }
- xx++;
- yy++;
- hh-=2;
- ww-=2;
- }
-
- if (flags&CMD_VERT)
- {
- if ((flags&CMD_PIC) && iconpool)
- {
- var ipool = cmdptr->GetPoolNum();
- var inum = cmdptr->GetIconNum();
-
- iconpool->GetIconDim(ipool,inum,&w,&h);
-
- var bw=w,bh=h;
-
- switch (iconsize)
- {
- case ICONS_MEDIUM: bw = bh = ICONSIZE_MEDIUM; break;
- case ICONS_SMALL: bw = bh = ICONSIZE_SMALL; break;
- case ICONS_BIG: bw = bh = ICONSIZE_BIG; break;
- }
-
- if ((flags & CMD_SMALLICONS) && h>0) bh = hh;
- if (bw>col_0) bw = col_0;
-
- if (h>0 && h>bh)
- {
- var aspect;
- aspect = float(bh)/float(h);
- h = bh;
- w = int(w*aspect);
- }
- if (w>0 && w>bw)
- {
- var aspect;
- aspect = float(bw)/float(w);
- w = bw;
- h = int(h*aspect);
- }
- iconpool->DrawIcon(ipool,inum,this,xx+(ww-w)/2,yy+(col_0-h)/2,w,h,state);
-
- yy += col_0;
- }
-
- var text = cmdptr->GetTitle();
- if ((flags&CMD_TEXT) && text && sizeof(text)>0)
- {
- var addy = 3;
- if (CfIsEnabled(TRUE))
- {
- BfDrawSetTextCol(fg,bg);
- CfDrawTextClippedCenter(xx,yy+addy,ww,col_1-addy,text,CENTER_HORIZ);
- }
- else
- {
- //BfDrawSetTextCol(COLOR_EDGEWH,COLOR_TRANS);
- //CfDrawTextClippedCenter(xx+1,yy+addy+1,ww,col_1-addy-1,text,CENTER_HORIZ);
- BfDrawSetTextCol(COLOR_EDGEDK,COLOR_TRANS);
- CfDrawTextClippedCenter(xx,yy+addy,ww,col_1-addy,text,CENTER_HORIZ);
- }
- yy += col_1;
- }
- }
- else
- {
- h = 0;
- var ipool, inum;
- if (flags&CMD_PIC)
- {
- ipool = cmdptr->GetPoolNum();
- inum = cmdptr->GetIconNum();
-
- if (iconpool) iconpool->GetIconDim(ipool,inum,&w,&h);
- }
-
- if (h>0)
- {
- // Icon zeichnen
-
- var sub = 0;
- if (flags & CMD_MENU) sub = 2;
-
- var bw=w,bh=h;
-
- switch (iconsize)
- {
- case ICONS_MEDIUM: bw = bh = ICONSIZE_MEDIUM; break;
- case ICONS_SMALL: bw = bh = ICONSIZE_SMALL; break;
- case ICONS_BIG: bw = bh = ICONSIZE_BIG; break;
- }
-
- if (bw>col_0) bw = col_0;
-
- if ((flags & CMD_SMALLICONS) && h>0) bh = hh;
-
- if (h>0 && h>bh)
- {
- var aspect;
- aspect = float(bh)/float(h);
- h = bh;
- w = int(w*aspect);
- }
- if (w>0 && w>bw)
- {
- var aspect;
- aspect = float(bw)/float(w);
- w = bw;
- h = int(h*aspect);
- }
-
- if (flags&CMD_MENU)
- {
- if (value && CfGetFocus()!=FOCUS_ON)
- {
- CfDrawBorder(xx-1,yy-1,w+1,hh+1,BORDER_THIN_IN);
- }
- }
- iconpool->DrawIcon(ipool,inum,this,xx+(col_0-w)/2,yy+(hh-h)/2,w,h,state);
- xx += col_0;
- ww -= col_0;
- }
- else
- {
- if (flags&CMD_MENU)
- {
- if (value)
- {
- if (CfIsEnabled(TRUE))
- {
- GaDrawCheckMark(xx,yy-1+(hh-10)/2,fg);
- }
- else
- {
- //GaDrawCheckMark(xx+1,yy-1+(hh-10)/2+1,COLOR_EDGEWH);
- GaDrawCheckMark(xx,yy-1+(hh-10)/2,COLOR_EDGEDK);
- }
- }
- xx += col_0;
- ww -= col_0;
- }
- }
-
- var www = col_1;
- if (www>ww) www=ww;
-
- var text = cmdptr->GetTitle();
- if ((flags&CMD_TEXT) && text && sizeof(text)>0)
- {
- var addx = 6;
- www-=2*addx;
- if (CfIsEnabled(TRUE))
- {
- BfDrawSetTextCol(fg,bg);
- CfDrawTextClippedCenter(xx+addx,yy,www,hh,text,CENTER_VERT);
- }
- else
- {
- //BfDrawSetTextCol(COLOR_EDGEWH,COLOR_TRANS);
- //CfDrawTextClippedCenter(xx+addx+1,yy+1,www,hh-2,text,CENTER_VERT);
- BfDrawSetTextCol(COLOR_EDGEDK,COLOR_TRANS);
- CfDrawTextClippedCenter(xx+addx,yy,www,hh-2,text,CENTER_VERT);
- }
- xx += col_1;
- }
-
- text = cmdptr->GetShortString(-1);
- if ((flags&CMD_SHORTCUT) && text && sizeof(text)>0)
- {
- var addx = 6;
- if (CfIsEnabled(TRUE))
- {
- BfDrawSetTextCol(fg,bg);
- CfDrawTextClippedCenter(xx+addx,yy,col_2-2*addx,hh,text,ALIGN_RIGHT|CENTER_VERT);
- }
- else
- {
- //BfDrawSetTextCol(COLOR_EDGEWH,COLOR_TRANS);
- //CfDrawTextClippedCenter(xx+addx+1,yy+1,col_2-2*addx,hh-2,text,ALIGN_RIGHT|CENTER_VERT);
- BfDrawSetTextCol(COLOR_EDGEDK,COLOR_TRANS);
- CfDrawTextClippedCenter(xx+addx,yy,col_2-2*addx,hh-2,text,ALIGN_RIGHT|CENTER_VERT);
- }
- xx += col_2;
- }
- }
- if (commandeditmode && !(flags & CMD_EDITPALETTE) && (flags & CMD_BUTTONLIKE))
- {
- BfDrawSetPen(COLOR_EDITBORDER);
- //var x1=1,y1=1,x2=bf_sw-2,y2=bf_sh-2;
- var x1=0,y1=0,x2=bf_sw-1,y2=bf_sh-1;
- BfDrawLine(x1,y1,x2,y1);
- BfDrawLine(x2,y1,x2,y2);
- BfDrawLine(x2,y2,x1,y2);
- BfDrawLine(x1,y2,x1,y1);
- }
- }
-
-
-
-
-
-
- class MacBar : Gadget
- {
- public:
- var active,value;
-
- MacBar(_id_,_title_,_bi_,_min_,_max_,_val_);
-
- GaTrackMouseAction(b,mx,my,qa,data);
- GaAction(b,mx,my,qa,msg);
- // GaCalcSize();
- CfRedraw(xr1,yr1,xr2,yr2);
- // GaKeyboard(msg,k,qa);
- }
-
-
- MacBar::MacBar(_id_,_title_,_bi_,_min_,_max_,_val_)
- {
- super(_id_,_title_,_bi_,_min_,_max_,_val_);
- active = FALSE;
- value = 0;
- }
-
- MacBar::GaTrackMouseAction(b,mx,my,qa,data)
- {
- var x,y,w,h;
- x = 1;
- h = w = 13-1;
- y = (h-13)/2;
-
- if (GaRectHit(x,y,x+w,x+h,mx,my)) data=TRUE;
- else data=FALSE;
-
- value = data;
- Redraw();
-
- return TRUE;
- }
-
- MacBar::GaAction(b,mx,my,qa,msg)
- {
- var x,y,w,h;
- x = 1;
- h = w = 13-1;
- y = (h-13)/2;
-
- if (GaRectHit(x,y,x+w,x+h,mx,my))
- {
- value = 0;
- if (GaTrackMouse(b,mx,my,qa,&value) && value)
- {
- value = 0;
- Redraw();
- SendParentMessage(ActionMessage(GUI_DIALOG_CLOSE,TRUE));
- }
- }
- }
-
- MacBar::CfRedraw(xr1,yr1,xr2,yr2)
- {
- BfOffScreenOn();
-
- var i,x,y,w,h,x1,x2;
- var bg = COLOR_BG, fg = COLOR_TEXT;
-
- x = 0;
- y = 0;
- w = bf_sw-1;
- h = bf_sh-1;
-
- BfDrawSetPen(bg);
- BfDrawRectangle(0,0,bf_sw-1,bf_sh-1);
-
- i = BfDrawGetTextWidth(bf_title);
- if (i>w-17) i=w-17;
-
- x1 = x+13+(w-13-i)/2-4;
- x2 = x1+4+i+4;
-
- w-=3;
- x+=16;
-
- if (x<x1 && x2<x+w && active)
- {
- for (y=0;y<h-4;)
- {
- BfDrawSetPen(BORDER_COL_0);
- BfDrawLine(x,y,x1,y);
- BfDrawLine(x2,y,x+w,y);
- y++;
-
- BfDrawSetPen(BORDER_COL_8);
- BfDrawLine(x+1,y,x1+1,y);
- BfDrawLine(x2+1,y,x+w+1,y);
- y++;
- }
- }
-
- if (active)
- {
- x = 1;
- h = w = 13-1;
- y = (h-13)/2;
-
- BfDrawSetPen(BORDER_COL_8);
- BfDrawLine(x,y,x+w-1,y);
- BfDrawLine(x,y,x,y+h-1);
-
- BfDrawSetPen(BORDER_COL_0);
- BfDrawLine(x+1,y+h,x+w,y+h);
- BfDrawLine(x+w,y+1,x+w,y+h);
-
- x++;y++;
- w-=2;h-=2;
- BfDrawSetPen(BORDER_COL_10);
- BfDrawLine(x ,y ,x+w,y);
- BfDrawLine(x+w,y ,x+w,y+h);
- BfDrawLine(x+w,y+h,x ,y+h);
- BfDrawLine(x ,y+h,x ,y);
-
- x++;y++;
- w-=2;h-=2;
-
- BfDrawSetPen(BORDER_COL_0);
- BfDrawLine(x,y,x+1,y);
-
- BfDrawSetPen(BORDER_COL_3);
- BfDrawLine(x+1,y,x+w,y);
- BfDrawLine(x ,y,x ,y+h);
-
- BfDrawSetPen(BORDER_COL_6);
- BfDrawLine(x+w,y+1,x+w,y+h);
- BfDrawLine(x+1,y+h,x+w,y+h);
-
- x++;y++;
- w-=2;h-=2;
-
-
-
- if (intrack && value)// CfGetFocus()==FOCUS_ON)
- {
- BfDrawSetPen(BORDER_COL_6);
- BfDrawRectangle(x-1,y-1,x+w+1,y+h+1);
- }
- else
- {
- BfDrawSetPen(BORDER_COL_6); BfDrawLine(x+0,y+0,x+1,y+0); BfDrawLine(x+0,y+1,x+0,y+1);
- BfDrawSetPen(BORDER_COL_5); BfDrawLine(x+2,y+0,x+3,y+0); BfDrawLine(x+1,y+1,x+2,y+1);
- BfDrawSetPen(BORDER_COL_4); BfDrawLine(x+4,y+0,x+5,y+0); BfDrawLine(x+3,y+1,x+4,y+1);
- BfDrawSetPen(BORDER_COL_3); BfDrawLine(x+6,y+0,x+6,y+0); BfDrawLine(x+5,y+1,x+6,y+1);
-
- BfDrawSetPen(BORDER_COL_5); BfDrawLine(x+0,y+2,x+1,y+2); BfDrawLine(x+0,y+3,x+0,y+3);
- BfDrawSetPen(BORDER_COL_4); BfDrawLine(x+2,y+2,x+3,y+2); BfDrawLine(x+1,y+3,x+2,y+3);
- BfDrawSetPen(BORDER_COL_3); BfDrawLine(x+4,y+2,x+5,y+2); BfDrawLine(x+3,y+3,x+4,y+3);
- BfDrawSetPen(BORDER_COL_2); BfDrawLine(x+6,y+2,x+6,y+2); BfDrawLine(x+5,y+3,x+6,y+3);
-
- BfDrawSetPen(BORDER_COL_4); BfDrawLine(x+0,y+4,x+1,y+4); BfDrawLine(x+0,y+5,x+0,y+5);
- BfDrawSetPen(BORDER_COL_3); BfDrawLine(x+2,y+4,x+3,y+4); BfDrawLine(x+1,y+5,x+2,y+5);
- BfDrawSetPen(BORDER_COL_2); BfDrawLine(x+4,y+4,x+5,y+4); BfDrawLine(x+3,y+5,x+4,y+5);
- BfDrawSetPen(BORDER_COL_1); BfDrawLine(x+6,y+4,x+6,y+4); BfDrawLine(x+5,y+5,x+6,y+5);
-
- BfDrawSetPen(BORDER_COL_3); BfDrawLine(x+0,y+6,x+1,y+6);
- BfDrawSetPen(BORDER_COL_2); BfDrawLine(x+2,y+6,x+3,y+6);
- BfDrawSetPen(BORDER_COL_1); BfDrawLine(x+4,y+6,x+5,y+6);
- BfDrawSetPen(BORDER_COL_0); BfDrawLine(x+6,y+6,x+6,y+6);
- }
- }
-
- x = 0;
- y = 0;
- w = bf_sw-1;
- h = bf_sh-2;
-
- BfDrawSetTextCol(COLOR_TEXT,bg);
- BfDrawTextNew(bf_title,x1+4,0,i,h,TEXT_STD);
-
- if (active)
- {
- BfDrawSetPen(BORDER_COL_6);
- BfDrawLine(x,h,w,h);
- }
- h++;
-
- if (active) BfDrawSetPen(BORDER_COL_11); else BfDrawSetPen(BORDER_COL_6);
- BfDrawLine(x,h,w,h);
-
- }
-
-
-
- // defDialogBarH vertical
- class DialogBarH : DialogBar
- {
- public:
- DialogBarH(_id_,_title_,_bi_,_dragtype_,_d2_,_flags_);
- CbMessage(m);
- };
-
-
-
- DialogBarH::DialogBarH(_id_,_title_,_bi_,_dragtype_,_d2_,_flags_)
- {
- var c;
-
- super(_id_,_title_,_bi_,_dragtype_,_d2_,_flags_);
-
- BgSetBorderStyle(BORDER_NONE);
- GgSetBorder(1,1,1,1);
- GgSetSpace(1,1);
-
- var bi=new(BfInfo);
- bi->pos = BFH_SCALEFIT;
- bi->initw = SizeChr(4);
-
- if (remove && !nobuttons)
- {
- /*
- if (!bf_title || sizeof(bf_title)==0)
- {
- bi->initw = SizePix(8);
- bi->inith = SizePix(8);
- c = BfAddChild(DummyFrame,0,0,bi,0,0,0);
- c->cfHandleFocus=TRUE;
- }
- else
- */
- /*
- bi->initw = SizePix(11);
- bi->inith = SizePix(11);
- bi->pos = BFH_CENTER | BFV_CENTER;
- c = new(classIconButton,GUI_DIALOG_CLOSE,"",bi,0,IDM_CM_CLOSEWINDOW,BORDER_NONE,BORDER_NONE);
- BfInsertChild(c,BF_INSERT_LAST);
- c->cfHandleFocus = FALSE;
- c->cfTabStop = FALSE;
-
- bi->initw = SizePix(2);
- bi->inith = 0;
- c = BfAddChild(DummyFrame,0,"",bi,0,0,0);
- c->cfHandleFocus = FALSE;
- c->cfTabStop = FALSE;
- */
- bi->initw = 0;
- bi->inith = 0;
- bi->pos = BFH_SCALEFIT;
-
- {
- titlegad = BfAddChild(MacBar,0,bf_title,bi,0,0,0);
- titlegad->cfHandleFocus=TRUE;
- }
-
- /*
- c = BfAddChild(classButton,GUI_DIALOG_MINIMIZE,"-",bi,BORDER_THIN_OUT,BORDER_THIN_IN,0);
- c->cfHandleFocus = FALSE;
- c->cfTabStop = FALSE;
- c = BfAddChild(classButton,GUI_DIALOG_RELEASE,"o",bi,BORDER_THIN_OUT,BORDER_THIN_IN,0);
- c->cfHandleFocus = FALSE;
- c->cfTabStop = FALSE;
- */
-
- // BfSetDefaultColor(COLOR_BG,vector(216/255.0,216/255.0,216/255.0));
- // BfSetDefaultColor(COLOR_BGGADGET,vector(216/255.0,216/255.0,216/255.0));
- BfSetDefaultColor(COLOR_BGFOCUS,vector(100/255.0,100/255.0,100/255.0));
- BfSetDefaultColor(COLOR_TEXT,svector(0/255.0,0/255.0,0/255.0,FALSE));
- BfSetDefaultColor(COLOR_TEXTFOCUS,COLOR_DBARFG2);
- }
- else
- {
- bi->pos = BFH_SCALEFIT;
- bi->initw = SizePix(8);
- bi->inith = SizePix(8);
- BfAddChild(DummyFrame,0,"",bi,0,0,12345);
- GgSetBorder(0,0,0,0);
- GgSetSpace(0,0);
- BgSetBorderStyle(BORDER_NONE);//GROUP_IN);
- }
- }
-
-
-
- DialogBarH::CbMessage(m)
- {
- var flag,n,res;
-
- switch(m->GetId())
- {
- /*
- case BFM_TITLECHNG:
- if (titlegad)
- {
- titlegad->CbMessage(m);
- }
- break;
-
- case BFM_INPUT:
- res = super::CbMessage(m);
-
- if (!res && m->GetData(BFM_INPUT_DEVICE)==BFM_INPUT_MOUSE)
- {
- var mx,my,b,nn,n = new(BaseContainer,BFM_GET_MANAGERID);
- nn = SendParentMessage(n);
-
- b = m->GetData(BFM_INPUT_CHANNEL);
- mx = BfGetInputChannel(BFM_INPUT_MOUSE,b,BFM_INPUT_X);
- my = BfGetInputChannel(BFM_INPUT_MOUSE,b,BFM_INPUT_Y);
- BfGlobal2Local(&mx,&my);
-
- if (nn && b==BFM_INPUT_MOUSELEFT)
- {
- if (HandleMouseDrag(mx,my,b,dragtype,nn,FALSE,NULL))
- res = TRUE;
- }
- }
-
- return res;
- */
- case BFM_SETACTIVE:
- flag = m->GetData(BFM_SETACTIVE_DATA);
- if ((flag==FOCUS_ON) != isactive)
- {
- isactive = (flag==FOCUS_ON);
-
- if (remove && !nobuttons)
- {
- if (isactive)
- {
- //BfSetDefaultColor(COLOR_BG,vector(200/255.0,200/255.0,200/255.0));
- BfSetDefaultColor(COLOR_TEXT,svector(0/255.0,0/255.0,0/255.0,TRUE));
- if (instanceof(titlegad,MacBar)) titlegad->active = TRUE;
- }
- else
- {
- //BfSetDefaultColor(COLOR_BG,vector(216/255.0,216/255.0,216/255.0));
- BfSetDefaultColor(COLOR_TEXT,svector(0/255.0,0/255.0,0/255.0,FALSE));
- if (instanceof(titlegad,MacBar)) titlegad->active = FALSE;
- }
- }
-
- Redraw();
- }
- return BorderGroup::CbMessage(m);
- }
- return super::CbMessage(m);
- }
-
-
- // ArrowButton
- class ArrowButton : defArrowButton
- {
- public:
- ArrowButton(_id_,_title_,_bi_,_d1_,_arrownum_,_d3_);
-
- CfRedraw(xr1,yr1,xr2,yr2);
- };
-
-
- ArrowButton::ArrowButton(_id_,_title_,_bi_,_d1_,_arrownum_,_d3_)
- {
- return super(_id_,_title_,_bi_,_d1_,_arrownum_,_d3_);
- }
-
- ArrowButton::CfRedraw(xr1,yr1,xr2,yr2)
- {
- if (CfIsEnabled(TRUE)) return super::CfRedraw(xr1,yr1,xr2,yr2);
- BfDrawSetPen(oCOLOR_BG);
- BfDrawRectangle(0,0,bf_sw-1,bf_sh-1);
- }
-
-